package com.gigi.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 签到表
 * </p>
 *
 * @author AutoGenerator
 * @since 2024-01-24
 */
@TableName("sign_in")
@ApiModel(value="SignInEntity对象", description="签到表")
public class SignInEntity extends Model<SignInEntity> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "签到方式（0口令 1拍照 2位置 3手势）")
    @TableField("type")
    private Integer type;

    @ApiModelProperty(value = "课程id")
    @TableField("course_id")
    private Long courseId;

    @ApiModelProperty(value = "用户id（老师id）")
    @TableField("user_id")
    private Long userId;

    @ApiModelProperty(value = "口令")
    @TableField("pwd")
    private Long pwd;

    @ApiModelProperty(value = "经纬度")
    @TableField("location")
    private String location;

    @ApiModelProperty(value = "状态（0进行中 1已结束）")
    @TableField("state")
    private Integer state;

    @ApiModelProperty(value = "开始时间")
    @TableField("start_time")
    private LocalDateTime startTime;

    @ApiModelProperty(value = "结束时间")
    @TableField("end_time")
    private LocalDateTime endTime;

    @ApiModelProperty(value = "范围")
    @TableField("location_range")
    private String locationRange;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }
    public Long getCourseId() {
        return courseId;
    }

    public void setCourseId(Long courseId) {
        this.courseId = courseId;
    }
    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }
    public Long getPwd() {
        return pwd;
    }

    public void setPwd(Long pwd) {
        this.pwd = pwd;
    }
    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }
    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }
    public LocalDateTime getStartTime() {
        return startTime;
    }

    public void setStartTime(LocalDateTime startTime) {
        this.startTime = startTime;
    }
    public LocalDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalDateTime endTime) {
        this.endTime = endTime;
    }
    public String getLocationRange() {
        return locationRange;
    }

    public void setLocationRange(String locationRange) {
        this.locationRange = locationRange;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "SignInEntity{" +
            "id=" + id +
            ", type=" + type +
            ", courseId=" + courseId +
            ", userId=" + userId +
            ", pwd=" + pwd +
            ", location=" + location +
            ", state=" + state +
            ", startTime=" + startTime +
            ", endTime=" + endTime +
            ", locationRange=" + locationRange +
        "}";
    }
}
